package com.wd.elec.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.wd.common.annotation.Excel;
import com.wd.common.core.domain.BaseEntity;

/**
 * 员工信息对象 staff_info
 *
 * @author liumingkun
 * @date 2023-11-08
 */
public class StaffInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 员工Id
     */
    private Long staffId;

    /**
     * 员工姓名
     */
    @Excel(name = "员工姓名")
    private String staffName;

    /**
     * 员工工号
     */
    @Excel(name = "员工工号")
    private String staffNum;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String phone;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String idNum;

    /**
     * 部门id
     */
    @Excel(name = "部门id")
    private Long deptId;

    /**
     * 部门id
     */
    @Excel(name = "部门名称")
    private String deptName;


    /**
     * 卡号
     */
    @Excel(name = "卡号")
    private String cardNum;

    /**
     * 入职时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryTime;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    private Long groupId;

    private String groupName;

    public void setStaffId(Long staffId) {
        this.staffId = staffId;
    }

    public Long getStaffId() {
        return staffId;
    }

    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }

    public String getStaffName() {
        return staffName;
    }

    public void setStaffNum(String staffNum) {
        this.staffNum = staffNum;
    }

    public String getStaffNum() {
        return staffNum;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setIdNum(String idNum) {
        this.idNum = idNum;
    }

    public String getIdNum() {
        return idNum;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public void setCardNum(String cardNum) {
        this.cardNum = cardNum;
    }

    public String getCardNum() {
        return cardNum;
    }

    public void setEntryTime(Date entryTime) {
        this.entryTime = entryTime;
    }

    public Date getEntryTime() {
        return entryTime;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("staffId", getStaffId())
                .append("staffName", getStaffName())
                .append("staffNum", getStaffNum())
                .append("phone", getPhone())
                .append("idNum", getIdNum())
                .append("deptId", getDeptId())
                .append("deptName", getDeptId())
                .append("cardNum", getCardNum())
                .append("entryTime", getEntryTime())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("groupId", getGroupId())
                .append("groupName", getGroupId())
                .toString();
    }
}
